package empresadetransportes;

import java.util.ArrayList;


// <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
// #[regen=yes,id=DCE.FAD7C7F2-0F82-F3CF-C19F-8B7FE68404CF]
// </editor-fold> 
public class Adm_Ventas {
    int boleto;
    ArrayList<Venta> ventas;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.85B54BA4-5341-9220-2C32-E95BBD6791E6]
    // </editor-fold> 
    public Adm_Ventas () {
        ventas = new ArrayList<Venta>();
        boleto = 0;
    }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,regenBody=yes,id=DCE.E98DC59C-4E39-118E-142A-0A0F9F14F8BD]
    // </editor-fold> 
    public ArrayList<Venta> getVenta () {
        return ventas;
    }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,regenBody=yes,id=DCE.FB9854B2-129F-2C16-84E1-A1691D304359]
    // </editor-fold> 
    public void setVentas (ArrayList<Venta> val) {
        this.ventas = val;
    }
    public ArrayList<Venta> filtrarFechaVenta(String fecha) {
        ArrayList<Venta> filtro = null;
        for (Venta v : ventas) {
            if (v.getFechaViaje().equals(fecha)) {
                filtro.add(v);
            }
        }
        return filtro;
    }
    public void registrarVentas(String fechaViaje, Tarifa tarifa, Asiento asiento, HorarioSalida horaSalida, Terminal parada, boolean directo) {
        boleto++;
        Venta venta = null;
 
        if (directo) {
            venta = new VentaRuta();
            venta.setBoleto(boleto);
            venta.setTarifa(tarifa);
            venta.setAsiento(asiento);
            venta.setHorarioSalida(horaSalida);
        } else {
            venta = new VentaParada();
            venta.setBoleto(boleto);
            venta.setTarifa(tarifa);
            venta.setAsiento(asiento);
            venta.setHorarioSalida(horaSalida);   
            //pOLIMORFISMO
            ((VentaParada)venta).setDestino(parada.getDesTerminal());
        }
    }
}

